## Простые задания на функции

__Задание 1.__ Паллиндром. Необходимо определить, является ли это слово палиндромом (одинаково читается вперед и назад, например, АННА) с помощью функции. Если палиндром, на экран вывести True, иначе - False.

__Задание 2.__ Объявите функцию с именем is_triangle, которая принимает три стороны треугольника (целые числа) и проверяет, можно ли из переданных аргументов составить треугольник. (Напомню, что у любого треугольника длина третьей стороны всегда должна быть меньше суммы двух других). Если  проверка проходит, вернуть булево значение True, иначе - значение False.
Вызывать функцию не нужно, только задать.
### Входные данные
3 4 5
### Выходные данные:
True

__Задание 3.__ Объявите функцию для проверки числа на нечетность (возвращается True, если переданное число нечетное и False, если число четное).

После объявления функции обработайте с её помощью список целых значений, И, используя генератор списков и созданную функцию, сформируйте список из нечетных значений на основе введенного исходного списка.

Результат отобразите на экране командой:
```python
print(*lst)
```
где lst - сформированный список из нечетных значений.
### Входные данные
```
st = [8, 11, -15, 3, 2, 10]
```
### Выходные данные:
```
11 -15 3
```

__Задание 4.__ Напишите функцию, которая проверяет корректность переданного ей email-адреса в виде строки. Будем полагать, что адрес верен, если он обязательно содержит символы '@' и '.', а все остальные символы могут принимать значения: 'a-z', 'A-Z', '0-9' и '_'. Если email верен, то функция выводит ДА, иначе - НЕТ.
После объявления функции прочитайте (с помощью функции input) строку с email-адресом и вызовите функцию с этим аргументом.
### Входные данные
```
sc_lib@list.ru
```
### Выходные данные:
```
ДА
```

__Задание 5.__ Объявите функцию, которая принимает строку и заключает ее в указанный тег.

Тег определяется формальным параметров tag с начальным значением в виде строки "h1".

Например, мы передаем строку "Hello Python" и заключаем в тег "h1". На выходе должны получить строку (без кавычек):
```python
"<h1>Hello Python</h1>"
```

__Задание 6.__ Объявите функцию `get_rect_value`, которая принимает два аргумента (два числа) и еще один формальный параметр `type` с начальным значением 0. 
Если параметр `type` равен нулю, то функция должна возвращать периметр прямоугольника, а иначе - его площадь.

__Задание 6.__  Объявите функцию  `check_password`, которая принимает аргумент - строку (пароль) и имеет один формальный параметр `chars` с начальным значением в виде строки `"$%!?@#"`. 
Функция должна проверять: есть ли в пароле хотя бы один символ из `chars` и что длина пароля не менее 8 символов. 

Если проверка проходит, то функция возвращает `True`, иначе - `False`.

> Входные данные 

`12345678!`
> Выходные данные:

`True`



Задания на рекурсивные функции

__Задание 1.__ Алгоритм вычисления значения функции F(n), где n  – натуральное число, задан следующими соотношениями:
```
F(1) = 1;
F(n) = F(n − 1) + n при n>1
```
Чему равно значение функции F(5), F(30)
```
Ответ: 465.
```

__Задание 2.__ Последовательность чисел Фибоначчи задается рекуррентным соотношением:
```
F(1) = 1
F(2) = 1
F(n) = F(n–2) + F(n–1), при n >2, где n – натуральное число.
```
Чему равно восьмое число в последовательности Фибоначчи?

В ответе запишите только натуральное число.

Ответ:
```
21
```
__Задача 3.__ (Сделать на основе первой задачи) Последовательность чисел трибоначчи задается рекуррентным соотношением:
```
F(1) = 0
F(2) = 1
F(3) = 1
F(n) = F(n–3) + F(n–2) + F(n–1), при n >3, где n – натуральное число.
```
Чему равно девятое число в последовательности трибоначчи?
В ответе запишите только натуральное число.

Ответ:
```
44
```
__Задача 4.__ Алгоритм вычисления значения функции F(n), где n  – целое неотрицательное число, задан следующими соотношениями:
```
F(0) = 0;
F(n) = F(n / 2), если n > 0 и при этом чётно;
F(n) = 1 + F(n − 1), если n нечётно.
```
Сколько существует таких чисел n, что 1 ≤ n ≤ 1000 и F(n)  =  3?
Ответ: 120

__Задача 5.__ У робота есть две команды, которым присвоены номера:
```
1.  Прибавить 1
2.  Прибавить 3
```
Первая команда увеличивает число на экране на 1, вторая увеличивает его на 3.

Программа для робота – это последовательность команд.
Сколько существует программ, для которых при исходном числе 1 результатом является число 17 и при этом траектория вычислений содержит число 9?

Траектория вычислений программы – это последовательность результатов выполнения всех команд программы.

Например, для программы 121 при исходном числе 7 траектория будет состоять из чисел 8, 11, 12.
Ответ:
```
169
```

### Задания на lambda, filter

__Задача 1.__ Имеется кортеж, содержащий вложенные кортежи с информацией по книгам:
```python
books = (
    ("Евгений Онегин", "Пушкин А.С.", 200),
    ("Муму", "Тургенев И.С.", 250),
    ("Мастер и Маргарита", "Булгаков М.А.", 500),
    ("Мертвые души", "Гоголь Н.В.", 200)
)
```

отсортировать по цене и по фамилии автора 




__Задача 2.__ На складе лежат мешки различного веса и стоимости. Вес за мешок и стоимость записаны на как натуральные числа с списке. Отсортировать мешки по стоимости за кг, при равной стоимости первыми идут мешки с наименьшим весом
```
S = [
    [47, 470],
    [50, 600],
    [60, 480],
    [45, 540],
    [30, 300]
]
```
__Задача 2.__ Отфильтровать стоп-слова (союзы и предлоги) из строки.

# Строка со стоп-словами
```python
list_of_stop_words = ["в", "и", "по", "за", "на"]

string_to_process = ("Сервис по поиску работы и сотрудников "
                     "HeadHunter опубликовал подборку"
                     " высокооплачиваемых вакансий в России за ноябрь 2024 года"
                     "в Москве. На первых строчках IT-архитекторы и техлиды  ")

```
__Задача 3.__ Лишний символ. Робот отправляет сообщения. Есть только две проблемы – иногда символы в каждом сообщении перемешиваются, и всегда добавляется ровно один лишний символ. Напишите функцию, которая принимает две строки – исходное корректное сообщение и поврежденное доставленное, – и находит лишний символ.
Формат ввода:
Строка А – исходное сообщение.
Строка Б – доставленное сообщение.

#Пример ввода:
```
スーパーハカー
スーパーハッカー
```
Формат вывода:
Лишний символ в доставленном сообщении.
#Пример вывода:
```
ッ
```
